```cpp
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#include <sstream>
#include <cstdlib>
#include <cmath>
#include <cstdio>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <numeric>
#include <climits>
#include <cfloat>
#include <functional>
#include <iomanip>
#include <iterator>

using namespace std;

int main() {
    string words;
    cin >> words;

    vector<string> b;
    size_t a = 0, v = 0, f = 0, g = 0, h = 0, o = 0;

    stringstream ss(words);
    getline(ss, words, ' ');
    b.push_back(words);
    a++;

    for (string word; ss.good() && (word = ss.getline(' ')).size();) {
        b.push_back(word);
        a++;

        if (!word.empty() && isupper(word[0]) && word[0] >= '?' && word[0] <= '?') {
            v++;
        }
        if (any_of(word.begin(), word.end(), ::isalpha) &&
            any_of(word.begin(), word.end(), ::tolower) &&
            any_of(word.begin(), word.end(), ::isalpha)) {
            f++;
        }
        if (word.size() <= 3) {
            g++;
        }
        if (strstr(word.c_str(),"-")) {
            h++;
        }
        if (word.size() > o) {
            o = word.size();
        }
    }

    cout << "???-?? ????: " << a << endl;
    cout << "???-?? ???? ? ????????? ????????????? ?????: " << v << endl;
    cout << "???-?? ???? ?????????? ????????? ??????: " << f << endl;
    cout << "???-?? ???? ?? ??????????? 3 ???????: "